[INFO] cloning repository https://github.com/PlasmaPower/railroad
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PlasmaPower/railroad" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlasmaPower%2Frailroad", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlasmaPower%2Frailroad'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ddc7175716e97dab84618699c4346ba33d2d89ce
[INFO] checking PlasmaPower/railroad against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlasmaPower%2Frailroad" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/PlasmaPower/railroad on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/PlasmaPower/railroad
[INFO] finished tweaking git repo https://github.com/PlasmaPower/railroad
[INFO] tweaked toml for git repo https://github.com/PlasmaPower/railroad written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/PlasmaPower/railroad already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memoffset v0.5.2
[INFO] [stderr]   Downloaded blake2 v0.7.1
[INFO] [stderr]   Downloaded smallvec v0.6.12
[INFO] [stderr]   Downloaded nanocurrency-protocol v0.5.1
[INFO] [stderr]   Downloaded nanocurrency-types v0.3.18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cf193e2e87ec2500ce809ec36e41fdedc27cd621e20fc8196c290764cc6d2b07
[INFO] running `Command { std: "docker" "start" "-a" "cf193e2e87ec2500ce809ec36e41fdedc27cd621e20fc8196c290764cc6d2b07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf193e2e87ec2500ce809ec36e41fdedc27cd621e20fc8196c290764cc6d2b07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf193e2e87ec2500ce809ec36e41fdedc27cd621e20fc8196c290764cc6d2b07", kill_on_drop: false }`
[INFO] [stdout] cf193e2e87ec2500ce809ec36e41fdedc27cd621e20fc8196c290764cc6d2b07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6c099755be96d09af661a573dfbbf84cd3bb5f46f2c30777e627f5853b2407fd
[INFO] running `Command { std: "docker" "start" "-a" "6c099755be96d09af661a573dfbbf84cd3bb5f46f2c30777e627f5853b2407fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]     Checking futures v0.1.29
[INFO] [stderr]    Compiling cc v1.0.46
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling subtle v2.2.1
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling syn v1.0.7
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking subtle v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking num_cpus v1.11.0
[INFO] [stderr]    Compiling memoffset v0.5.2
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]     Checking failure v0.1.6
[INFO] [stderr]     Checking tokio-executor v0.1.8
[INFO] [stderr]     Checking smallvec v0.6.12
[INFO] [stderr]     Checking rustc-serialize v0.3.24
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking tokio-io v0.1.12
[INFO] [stderr]    Compiling clear_on_drop v0.2.3
[INFO] [stderr]     Checking generic-array v0.12.3
[INFO] [stderr]     Checking lock_api v0.3.1
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking hex v0.3.2
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking tokio-sync v0.1.7
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]     Checking crypto-mac v0.7.0
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]     Checking tokio-timer v0.2.11
[INFO] [stderr]     Checking tokio-current-thread v0.1.6
[INFO] [stderr]     Checking generic-array v0.9.0
[INFO] [stderr]     Checking blake2 v0.8.1
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking slab v0.3.0
[INFO] [stderr]    Compiling curve25519-dalek v1.2.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio-timer v0.1.2
[INFO] [stderr]     Checking tokio-reactor v0.1.10
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking constant_time_eq v0.1.4
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking crypto-mac v0.5.2
[INFO] [stderr]     Checking tokio-threadpool v0.1.16
[INFO] [stderr]     Checking digest v0.7.6
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking termcolor v1.0.5
[INFO] [stderr]     Checking futures-sink v0.3.5
[INFO] [stderr]     Checking tokio-udp v0.1.5
[INFO] [stderr]     Checking tokio-tcp v0.1.3
[INFO] [stderr]     Checking tokio-uds v0.2.5
[INFO] [stderr]     Checking byte-tools v0.2.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking blake2 v0.7.1
[INFO] [stderr]     Checking tokio v0.2.22
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking tokio-fs v0.1.6
[INFO] [stderr]     Checking num-bigint v0.1.44
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking ed25519-dalek v0.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking nanocurrency-types v0.3.18
[INFO] [stderr]     Checking nanocurrency-types v0.4.0 (/opt/rustwide/workdir/nanocurrency-types)
[INFO] [stderr]     Checking nanocurrency-protocol v0.5.1
[INFO] [stderr]     Checking nanocurrency-protocol v0.7.0 (/opt/rustwide/workdir/nanocurrency-protocol)
[INFO] [stderr]     Checking nanocurrency-peering v0.6.0 (/opt/rustwide/workdir/nanocurrency-peering)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> nanocurrency-peering/src/udp_framed.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn poll(&mut self) -> Poll<Option<(Self::Item)>, Self::Error> {
[INFO] [stdout]    |                                       ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn poll(&mut self) -> Poll<Option<(Self::Item)>, Self::Error> {
[INFO] [stdout] 42 +     fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |     send_messages: Box<Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     send_messages: Box<dyn Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |         value: Box<Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 204 |         value: Box<dyn Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:210:40
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn run(self) -> io::Result<Box<Future<Item = (), Error = ()>>> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn run(self) -> io::Result<Box<dyn Future<Item = (), Error = ()>>> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> nanocurrency-peering/src/udp_framed.rs:42:39
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn poll(&mut self) -> Poll<Option<(Self::Item)>, Self::Error> {
[INFO] [stdout]    |                                       ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 42 -     fn poll(&mut self) -> Poll<Option<(Self::Item)>, Self::Error> {
[INFO] [stdout] 42 +     fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |     send_messages: Box<Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     send_messages: Box<dyn Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:204:20
[INFO] [stdout]     |
[INFO] [stdout] 204 |         value: Box<Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 204 |         value: Box<dyn Stream<Item = (Message, SocketAddr), Error = ()>>,
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:210:40
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn run(self) -> io::Result<Box<Future<Item = (), Error = ()>>> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn run(self) -> io::Result<Box<dyn Future<Item = (), Error = ()>>> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `tokio::reactor::Handle::current`: semantics were sometimes surprising, use Handle::default()
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:229:63
[INFO] [stdout]     |
[INFO] [stdout] 229 |             socket = UdpSocket::from_std(std_socket, &Handle::current())?;
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `tokio::reactor::Handle::current`: semantics were sometimes surprising, use Handle::default()
[INFO] [stdout]    --> nanocurrency-peering/src/lib.rs:229:63
[INFO] [stdout]     |
[INFO] [stdout] 229 |             socket = UdpSocket::from_std(std_socket, &Handle::current())?;
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking railroad v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/node.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn run(conf: NodeConfig) -> Box<Future<Item = (), Error = ()>> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn run(conf: NodeConfig) -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/node.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn run(conf: NodeConfig) -> Box<Future<Item = (), Error = ()>> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn run(conf: NodeConfig) -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:37:37
[INFO] [stdout]     |
[INFO] [stdout] 23  |             match message {
[INFO] [stdout]     |                   ------- this expression has type `nanocurrency_protocol::Message`
[INFO] [stdout] ...
[INFO] [stdout] 37  |                 Message::ConfirmAck(Vote { block, .. }) => {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^ expected `nanocurrency_types::Vote`, found a different `nanocurrency_types::Vote`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Vote` and `nanocurrency_types::Vote` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Vote` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:787:1
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Vote` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:778:1
[INFO] [stdout]     |
[INFO] [stdout] 778 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:37:37
[INFO] [stdout]     |
[INFO] [stdout] 23  |             match message {
[INFO] [stdout]     |                   ------- this expression has type `nanocurrency_protocol::Message`
[INFO] [stdout] ...
[INFO] [stdout] 37  |                 Message::ConfirmAck(Vote { block, .. }) => {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^ expected `nanocurrency_types::Vote`, found a different `nanocurrency_types::Vote`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Vote` and `nanocurrency_types::Vote` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Vote` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:787:1
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Vote` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:778:1
[INFO] [stdout]     |
[INFO] [stdout] 778 | pub struct Vote {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `nanocurrency_types::Vote` does not have a field named `block`
[INFO] [stdout]   --> src/node.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Message::ConfirmAck(Vote { block, .. }) => {
[INFO] [stdout]    |                                            ^^^^^ struct `nanocurrency_types::Vote` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0026]: struct `nanocurrency_types::Vote` does not have a field named `block`
[INFO] [stdout]   --> src/node.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Message::ConfirmAck(Vote { block, .. }) => {
[INFO] [stdout]    |                                            ^^^^^ struct `nanocurrency_types::Vote` does not have this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:27:41
[INFO] [stdout]     |
[INFO] [stdout] 27  |                     if block.work_valid(network) {
[INFO] [stdout]     |                              ---------- ^^^^^^^ expected `nanocurrency_types::Network`, found a different `nanocurrency_types::Network`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Network` and `nanocurrency_types::Network` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:749:12
[INFO] [stdout]     |
[INFO] [stdout] 749 |     pub fn work_valid(&self, network: Network) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:27:41
[INFO] [stdout]     |
[INFO] [stdout] 27  |                     if block.work_valid(network) {
[INFO] [stdout]     |                              ---------- ^^^^^^^ expected `nanocurrency_types::Network`, found a different `nanocurrency_types::Network`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Network` and `nanocurrency_types::Network` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:749:12
[INFO] [stdout]     |
[INFO] [stdout] 749 |     pub fn work_valid(&self, network: Network) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:51:18
[INFO] [stdout]     |
[INFO] [stdout] 51  |         .network(conf.network)
[INFO] [stdout]     |          ------- ^^^^^^^^^^^^ expected `nanocurrency_types::Network`, found a different `nanocurrency_types::Network`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Network` and `nanocurrency_types::Network` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-peering/src/lib.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn network(mut self, value: Network) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/node.rs:51:18
[INFO] [stdout]     |
[INFO] [stdout] 51  |         .network(conf.network)
[INFO] [stdout]     |          ------- ^^^^^^^^^^^^ expected `nanocurrency_types::Network`, found a different `nanocurrency_types::Network`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `nanocurrency_types::Network` and `nanocurrency_types::Network` have similar names, but are actually distinct types
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-types/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nanocurrency_types::Network` is defined in crate `nanocurrency_types`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nanocurrency-types-0.3.18/src/lib.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout] 43  | pub enum Network {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: perhaps two different versions of crate `nanocurrency_types` are being used?
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/nanocurrency-peering/src/lib.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn network(mut self, value: Network) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0026, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0026`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0026, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0026`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `railroad` (bin "railroad") due to 5 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `railroad` (bin "railroad" test) due to 5 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "6c099755be96d09af661a573dfbbf84cd3bb5f46f2c30777e627f5853b2407fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c099755be96d09af661a573dfbbf84cd3bb5f46f2c30777e627f5853b2407fd", kill_on_drop: false }`
[INFO] [stdout] 6c099755be96d09af661a573dfbbf84cd3bb5f46f2c30777e627f5853b2407fd
